package ${package.Service};

import ${package.Entity}.${entity};
import com.qsn.tool.common.base.PageForm;
import com.qsn.tool.common.base.PageData;


import java.util.List;

/**
 * ${table.comment!} 服务接口
 *
 * @author ${author}
 * @date ${date}
 */
<#if kotlin>
interface ${table.serviceName} : ${superServiceClass}<${entity}>
<#else>
public interface ${table.serviceName} {

    /**
     * ${table.comment}分页
     *
     * @param pageForm 分页参数及查询条件
     * @return 分页信息
     */
    PageData<${table.entityName}> listPage${table.entityName}(PageForm<${table.entityName}> pageForm);

    /**
     * ${table.comment}列表
     *
     * @param ${table.entityName?uncap_first} 查询条件
     * @return 列表信息
     */
    List<${table.entityName}> list${table.entityName}(${table.entityName} ${table.entityName?uncap_first});

    /**
     * ${table.comment}新增
     *
     * @param ${table.entityName?uncap_first} 新增信息
     * @return 成功或失败
     */
    boolean insert${table.entityName}(${table.entityName} ${table.entityName?uncap_first});

    /**
     * ${table.comment}修改
     *
     * @param ${table.entityName?uncap_first} 根据主键修改信息
     * @return 成功或失败
     */
    boolean update${table.entityName}ById(${table.entityName} ${table.entityName?uncap_first});

    /**
     * ${table.comment}详情
     *
     * @param ${table.entityName?uncap_first} 根据主键获取详情
     * @return ${table.comment}详情
     */
    ${table.entityName} get${table.entityName}ById(${table.entityName} ${table.entityName?uncap_first});

}
</#if>
